:host ::deep .hardware-prompt-shell .mud-dialog-paper {
    width: min(420px, 100%);
    margin: 0 auto;
    border-radius: 28px;
}

.hardware-prompt-dialog {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 100%;
}

.hardware-prompt-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
}

.pin-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--wallet-bg-secondary, #f5f6fa);
    border-radius: 12px;
    padding: 0.75rem 1rem;
    min-height: 56px;
}

.pin-display .mud-text.typography-subtitle1 {
    font-family: var(--mud-typography-body1-font-family, monospace);
    letter-spacing: 0.35rem;
}

.pin-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.pin-grid .pin-key {
    height: 56px;
    border-radius: 12px;
    font-size: 1.5rem;
}

.hardware-prompt-actions {
    padding: 0 1.5rem 1.5rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 520px) {
    :host ::deep .hardware-prompt-shell .mud-dialog-paper {
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
        margin: 0;
    }

    .hardware-prompt-dialog {
        padding: 1rem;
        gap: 1rem;
    }

    .pin-display {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .hardware-prompt-actions {
        padding: 0 1rem 1rem;
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
}
